package tesauro;


import java.io.File;
import java.util.List;
import java.util.TreeMap;

import javax.swing.JFileChooser;
import javax.swing.JPanel;

public class ListaLexicografica implements ILista {
	
	public TreeMap<String,List<String>> sorted(DiccionarioSinonimos  diccionario){ 
		
		List<String> listaLLave = diccionario.getDiccionario().obtenerLlave();
		TreeMap<String,List<String>> treeMap = new TreeMap<String,List<String>>();
		
		for (String llave : listaLLave) {
			diccionario.getSinonimosDe(llave);
		    treeMap.put(llave, diccionario.getSinonimosDe(llave));
		}	
		
		return treeMap;
	}
	
	
	
	public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
            	 ListaLexicografica listLexi = new ListaLexicografica(); 
            	 UTgetListado(listLexi);                 
            }
        });
    }
	
	private static void UTgetListado(ListaLexicografica listLexi){		
		boolean s = true;      
        try{
        	JFileChooser fileChooser = new JFileChooser(System.getProperty("user.dir") + File.separator + "data");
        	fileChooser.setDialogType(JFileChooser.OPEN_DIALOG);
            int result = fileChooser.showOpenDialog(new JPanel());

            if (result == JFileChooser.APPROVE_OPTION) {
                                
				File archivo = fileChooser.getSelectedFile();
				DiccionarioSinonimos diccionario = new DiccionarioSinonimos();
				diccionario.cargarMasivamente(new CargadorMasivoArchivoTexto(archivo));    		
				TreeMap<String,List<String>> treeMap = listLexi.sorted(diccionario);
				System.out.println(treeMap.descendingMap()+"\n");
			}        	
        	
        }catch(Exception e){
        	System.out.println("Error al obtener el listado " + e.getMessage());
        }
        
	}
	
}
